home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / 8_16BIT / PICSTART.ZIP / README.2ND < prev    next >
Encoding:
Text File  |  1994-08-10  |  22.9 KB  |  675 lines

  1. ------------------------------------------------------------
  2. Release Notes for PIC16/17 Software Tools
  3. ------------------------------------------------------------
  4. 08/08/94
  5.  
  6. This special edtion of the PIC16/17 Software Tools
  7. has been created for distribution with Microchip
  8. development systems.  The versions of software provided
  9. on this diskette were the latest available at the time
  10. the disk was manufactured.  Please refer to the notes later
  11. in this file to learn how you can obtain the latest
  12. software tools from Microchip.
  13.  
  14. Attached are the concatenated release notes from MPASM
  15. version 1.02 Released and MPSIM version 4.20.
  16.  
  17. ------------------------------------------------------------
  18. Release Notes for MPASM Version 1.02 Released
  19. August 5, 1994
  20. ------------------------------------------------------------
  21.     
  22. ------------------------------------------------------------    
  23. What's New    
  24. ------------------------------------------------------------    
  25.     
  26. Version 1.02 Released is the commercial release of 1.01.07
  27. Intermediate.  All of the notes herein are the same as those
  28. for the intermediate release:
  29.  
  30. 1.     CALL and GOTO instructions for the PIC16C74 have been    
  31. fixed to generate proper object code when crossing a page    
  32. boundary.    
  33.     
  34. 2.     The logic has been improved for determining when a    
  35. program memory page boundary has been crossed. This is now    
  36. checked for CALL, GOTO/BRANCH and LCALL instructions for all    
  37. applicable processor families; especially for the PIC16C57.    
  38.     
  39. 3.     Error handling has been improved for cases where the    
  40. CALL destination was not in the lower half of a program    
  41. memory page.  The improper object code is now shown in    
  42. the listing, even though the destination is improper.  As    
  43. always, the .HEX file will not be generated, since this is a    
  44. fatal ERROR.    
  45.     
  46. 4.     Symbol values for SET, EQU, CONSTANT, VARIABLE    
  47. and CBLOCK are now listed in a column of their own in the    
  48. listing file.  The heading now shows the "VALUE" column    
  49. between the "LOC" and "OBJECT CODE" columns.  This should    
  50. improve the readability of the listing.    
  51.     
  52. 5.     A stand-alone label (on a line by itself) now    
  53. shows the label's address in the "LOC" column of the listing    
  54. file.  This prevents confusion, especially when the stand-   
  55. alone label is followed by an ORG directive.  The address of    
  56. the preceding stand-alone label is NOT the address specified    
  57. by the ORG.    
  58.     
  59. 6.     Error messages, warning messages and informational    
  60. messages all line up for ease of reading in the .LST file,    
  61. in the .ERR file and on the screen (console).    
  62.  
  63. 7.     The user may now specify a "warning level" to limit
  64. the severity of messages that will be displayed in the listing
  65. file.  Through the use of either the command line "/w" option  
  66. or the "list" directive "w=" option, all messages, Warnings
  67. and Error messages, or just Error messages can be displayed
  68. in the listing file.
  69.  
  70. In general, a warning level of 0 (zero) enables all messages
  71. to be displayed.  A warning level of 1 (one) enables Warning
  72. and Error messages to be displayed.  And finally a warning
  73. level of 2 (two) enables only Error messages to be displayed.
  74.  
  75. The default warning level is 0 (zero).
  76.  
  77.     0 = All messages will display
  78.     1 = Only Warnings and Error messages will display
  79.     2 = Only Error messages will display
  80.  
  81. From the command line use the following command line option:
  82.     
  83.     mpasm /wn <file name>
  84.  
  85. where n is the desired warning level number.
  86.  
  87. Using the "list" directive:
  88.     
  89.     list    w=n
  90.  
  91. Here again where n is the desired warning level number.
  92.  
  93. In all cases, messages, warnings and Error conditions will
  94. be reported in the error file, and counted.  The total count
  95. will be reported at the bottom of the listing file with a
  96. note if the class of message has been screened from the
  97. listing.
  98.     
  99. ------------------------------------------------------------    
  100. Contents    
  101. ------------------------------------------------------------    
  102.     
  103. This document contains the following:    
  104.     
  105. 1. What's New    
  106. 2. Contents    
  107. 3. How to Contact Microchip    
  108. 4. Overview of MPASM    
  109. 5. Instructions on Using MPASM    
  110. 6. Fixed SSRs (System Service Requests)    
  111. 7. Current SSR List    
  112. 8. Blank Bug Report Form    
  113.     
  114. ------------------------------------------------------------    
  115. How To Contact Microchip    
  116. ------------------------------------------------------------    
  117.     
  118. As with any software product, users may have questions about    
  119. MPASM.  These questions can be posed to Microchip in the    
  120. following ways:    
  121.     
  122. 1. Contact your regional sales office.    
  123.     
  124. 2. Contact your local distributor or representative.    
  125.     
  126. 3. Connect worldwide to the Microchip BBS using the    
  127. CompuServe communications network.  In most cases a local    
  128. call is your only expense.  The Microchip BBS connection    
  129. does not use CompuServe membership services, therefore you    
  130. do not need CompuServe membership to use the Microchip BBS.    
  131.     
  132. The procedure to connect will vary slightly from country to    
  133. country.  Please check with your local CompuServe agent for    
  134. details if you have a problem.  CompuServe services allow    
  135. multiple users at baud rates up to 9600.    
  136.     
  137. 4. Contact the Microchip Technology Development    
  138. Systems Information and Upgrade Line at 1-800-755-2345 in    
  139. the United States and parts of Canada and 1-602-786-7320 
  140. from    
  141. everywhere else.    
  142.     
  143. 5. Contact the Factory Applications Group.    
  144.     
  145. ------------------------------------------------------------    
  146. Overview of MPASM    
  147. ------------------------------------------------------------    
  148.     
  149. MPASM is a Universal Assembler.  It supports the    
  150. PIC16C5X, PIC16CXX and PIC17CXX families.  This is a step    
  151. forward toward more synergistic tools for the PIC16/17    
  152. microcontrollers.    
  153.     
  154. One important goal for MPASM was to make it backward    
  155. compatible with existing MPALC and ASM17 code.  These two    
  156. syntaxes have several conflicting requirements.  For    
  157. example, MPALC uses HEX as the default radix; ASM17 uses    
  158. decimal.    
  159.     
  160. In large part, the compatibility issues have been addressed.     
  161. You are still strongly advised to follow the instructions    
  162. for converting MPALC and ASM17 code as detailed in the    
  163. accompanying User's Guide.    
  164.     
  165. An item that will be added to the conversion guide is to    
  166. recode your labels to eliminate the use of the ampersand   
  167. ("@") and other special characters from your label names.     
  168. Chapter 2 of the User's Guide describes valid MPASM labels.    
  169.     
  170. You are encouraged to make the migration to MPASM because it    
  171. is a superior product with powerful features.  MPASM is also    
  172. the enabling technology (through its enhanced object file    
  173. generation) for source level debug features in the PICMASTER    
  174. version 1.13.    
  175.     
  176. A follow up release of MPASM is planned within the next    
  177. couple of months to add the Linker and Librarian features.    
  178.     
  179. MPASM has been developed jointly by Byte Craft Limited of    
  180. Waterloo, Ontario, Canada and Microchip Technology.  Byte    
  181. Craft is also developing MPC: the PIC16/17 'C' compiler.    
  182.     
  183. ------------------------------------------------------------    
  184. Instructions on Using MPASM    
  185. ------------------------------------------------------------    
  186.     
  187. 1.      After making the source code changes noted in the    
  188. MPASM User's Guide, assemble your code with MPASM, and fix    
  189. any syntax problems noted.  Using the command line:     
  190.     
  191.     mpasm <file>[.asm]    
  192.     
  193. MPASM assembles with INHX8M as the default hex output, and    
  194. generates a listing file and error file.    
  195.     
  196. 2.      Source Code Display.  To enable source code display  
  197. in the PICMASTER Program Memory Dump window, the code that you    
  198. are debugging must have been compiled with MPASM.  The MPASM    
  199. assembler creates a .COD file that contains the necessary    
  200. source and object cross reference necessary to do source    
  201. code display.    
  202.     
  203. To activate Source Code Display, select Utility from the    
  204. main menu of PICMASTER, then select Screen Options from the    
  205. drop-down menu.  The Screen Options dialog box will appear.     
  206. Select the Source Code Display Radio button and click on OK.     
  207. The program memory dump window will reformat with your    
  208. source code.    
  209.     
  210.     
  211. 3.      Version 4.13 and later of MPSIM provide basic symbol    
  212. support for the MPASM symbol file (.COD) and the MPASM    
  213. listing file.  To enable this feature, invoke MPSIM with the    
  214. "-C" option (implies enable COD input).    
  215.     
  216. ************************************************************    
  217. NOTE:  Version 4.16 and later of MPSIM use the MPASM symbol    
  218. file (.COD) by default.  The "-C" option is no longer    
  219. required.    
  220.     
  221. 4.      MPASM currently runs in DOS real mode, and is more    
  222. sensitive to available DOS Memory than MPALC.  This is    
  223. because of dynamic memory allocation from the heap.  If you    
  224. have problems related to "out of memory" or I/O errors, try    
  225. freeing up some DOS Memory. 530k seems to give good results    
  226. even for very large programs. Less will be satisfactory for    
  227. small programs.    
  228.     
  229. A DOS protected mode (DPMI) version of MPASM is currently in    
  230. the works, which will allow MPASM to access all unused    
  231. memory on your machine.    
  232.     
  233. 5.      Eliminate any definitions of HIGH or LOW as values    
  234. (e.g. 1 or 0 respectively) in your code or header files, if    
  235. you want to use the HIGH and LOW arithmetic operators for    
  236. getting the high or low bytes of a value.    
  237.     
  238. ------------------------------------------------------------    
  239. System Service Requests (SSRs) Fixed Since Previous Release    
  240. ------------------------------------------------------------    
  241.     
  242. The following list describes the SSRs that were fixed for    
  243. this release:    
  244.   
  245. SSRID 
  246. Description 
  247.  
  248. 337 
  249. Symbol values in list file should be in separate column. 
  250.  
  251. 794 
  252. No warning is given if crossing page boundary in PIC16C57. 
  253.  
  254. 880 
  255. Address gets listed twice for DW within #V substitution. 
  256.  
  257. 943
  258. User's Guide said there is a directive for case sensitivity,
  259. when there isn't one.  The documentation has been corrected.
  260.  
  261. 1003 
  262. Change WARNING for LCALL in non-paged processor to MESSAGE. 
  263.  
  264. 1009 
  265. PIC16C74 CALL & GOTO generate bad object code when crossing 
  266. page boundaries. 
  267.  
  268. 1013 
  269. Label on line by itself should show address in LOC field of  
  270. listing file. 
  271.  
  272. 1014 
  273. Problem with error handling of CALL to wrong half of program  
  274. memory page. 
  275.  
  276. ------------------------------------------------------------    
  277. Current SSR (System Service Request) List    
  278. ------------------------------------------------------------    
  279.     
  280. The list shown below is the current list of known problems     
  281. related to MPASM.  These problems (referenced by the     
  282. respective SSR number) are tracked throughout the lifetime   
  283. of the software product.  Microchip Technology will make a     
  284. best effort to resolve these problems as time and resources     
  285. allow.  If you encounter any problem or wish to see a new     
  286. feature, please contact Microchip (see the second section of     
  287. this document on how to contact Microchip).    
  288.     
  289. MPASM also has a number of outstanding design requests.      
  290. Design requests are not represented in this list.    
  291.     
  292. SSR #    
  293. Description    
  294.     
  295. 267    
  296. '00000001'b notation to specify binary radix doesn't work.    
  297.     
  298. 289    
  299. Enhance the ORG directive for programmable fuses.    
  300.     
  301. 299    
  302. Implement ORGs above 32K boundary.    
  303.     
  304. 311    
  305. Command line option /d not implemented.    
  306.     
  307. 338    
  308. IF directive sometimes doesn't work when it's in column 1.  
  309.  
  310. 361    
  311. ".ELSE IF and ELSE IF, if they appear on the same line    
  312. give ""Too many arguments"" error."    
  313.     
  314. 516    
  315. Backslash not supported for octal but does not giving warning.    
  316.     
  317. 635    
  318. Sometimes a line with label in column other than one doesn't     
  319. get printed in listing.    
  320.     
  321. 636    
  322. Local macro labels do not always get flushed from symbol    
  323. table.    
  324.     
  325. 876    
  326. #UNDEFINE doesn't remove a defined constant from the symbol     
  327. table. (Example:  "#DEFINE three 3" then "#UNDEFINE three"    
  328. leaves "3" in the symbol table.)    
  329.     
  330.  
  331. ------------------------------------------------------------    
  332. Release Notes for MPSIM Version 4.20 Released
  333. September 9, 1994
  334. ------------------------------------------------------------    
  335.  
  336. This release provides support for the PIC16C74 and PIC16C61 microcontrollers,
  337. and four new command features.  The default assembler for MPSIM has been
  338. changed to MPASM.  If you prefer to use MPALC, invoke MPSIM with the -s
  339. option.
  340.  
  341. This document contains the following:
  342.  
  343. 1. How to contact Microchip
  344. 2. Features with this version
  345. 3. Instructions on using the new features
  346. 4. Current SSR(System Service Request) List
  347. 5. Blank Bug Report Form
  348.  
  349. ------------------------------------------------------------
  350. How To Contact Microchip
  351. ------------------------------------------------------------
  352.  
  353. As with any software product, users may have questions about 
  354. MPSIM.  These questions can be posed to Microchip in the 
  355. following ways:
  356.  
  357. 1. Contact your regional sales office.  
  358.  
  359. 2. Contact your local distributor or representative.
  360.  
  361. 3. Connect worldwide to the Microchip BBS using the 
  362. CompuServe communications network.  In most cases a local 
  363. call is your only expense.  The Microchip BBS connection 
  364. does not use CompuServe membership services, therefore 
  365. you do not need CompuServe membership to use the 
  366. Microchip BBS.
  367.  
  368.  The procedure to connect will vary slightly from country 
  369. to country.  Please check with your local CompuServe 
  370. agent for details if you have a problem.  CompuServe 
  371. services allow multiple users at baud rates up to 9600.
  372.  
  373. 4. Contact the Factory Applications Group.
  374.  
  375. ------------------------------------------------------------
  376. New Features in this Version
  377. ------------------------------------------------------------
  378. There are new commands for the following: simulating asynchronous
  379. events through functiton key-strokes, injecting a value to a 
  380. file register at a specified program memory address, modifying  
  381. EE memory manually on the PIC16C84, and assigning a clock to
  382. an I/O pin.
  383.  
  384. MPSIM now supports both the MPALC and MPASM assemblers. 
  385. The default assembler for MPSIM is now MPASM.  To select MPALC
  386. as the desired assembler, invoke MPSIM with the -s option.
  387.  
  388. In addition to support for PIC16C5X, 16C71, 16C84, and 16C64 this
  389. version provides support for the PIC16C74, PIC16C64, and PIC16C61
  390. microcontrollers and their peripherals with the following 
  391. exceptions:
  392.  
  393.     SSP in I2C mode (SPI mode is supported)
  394.     A/D conversion does not take place (16C74)
  395.     USART transmit and receive do not take place
  396.  
  397. The prescaler for timer0, timer1 and timer2, postscaler for timer2,
  398. and the sspsr can be added to the viewscreen and observed.
  399. All can be modified, except for the sspsr
  400.  
  401. For more details about PIC16C61 or PIC16C74 support, please refer to 
  402. the addendum of the device in question (in the MPSIM user's guide)
  403.  
  404. ------------------------------------------------------------
  405. Instructions on Using the new Features
  406. ------------------------------------------------------------
  407. There is now a way to simulate an asynchronous event through
  408. a function keystroke.  A new command to define the keys
  409. and the associated events is as follows:
  410.     
  411.     DK FnxKey#,pin,event
  412.  
  413. FnxKey# is a number between 1 and 12
  414. pin is any valid I/O pin
  415. event can be [ H | L | T | P] - (high, low, toggle or pulse)
  416.  
  417. Example:  DK 1,RB0,T   
  418. When ALT-F1 is typed while MPSIM is executing, RB0 will toggle.  This 
  419. can be used to simulate the INT interrupt.    
  420.  
  421. DK            Displays assignment of all function keys
  422. DK FnxKey#    Displays assignment of specified function key
  423. DK FnxKey#,-  Cancels the specified function
  424. DK -          Cancels all assignments
  425. ----------- 
  426.  
  427. There is now a command to load stimuli from an ASCII file.
  428.  
  429.     FI filename,PMem,FReg [,n]
  430.  
  431. filename is any valid DOS file name containing one hex value per line
  432. PMem is the point in program memory at which value should be injected
  433. FReg is file register addressss that the value should be placed.  FReg can
  434. be any file register (except W), and can be specified by address or user-defined 
  435. label.  PMem can be either an absolute address (for example: 0x04) or can
  436. be a label defined in user code (for example: IntVct)
  437.  
  438. FI -    Closes the input file "filename".
  439.  
  440. Example1: FI advals.txt,4,9
  441.  
  442. Example2: FI advals.txt,IntVct,ADRES
  443.  
  444. At the interrupt vector (program memory address 4), read the next
  445. value from the file and put it in the ADRES register (file reg 9).
  446.  
  447. It is important to remember that user-defined labels (in your source code)
  448. are CASE-SENSITIVE, and that the FI command will issue an error stating
  449. that the label does not exist if it is not entered in the correct case.
  450.  
  451. Sample file:
  452. 0x12
  453. 0x1A
  454. 0xF0
  455. 0x00
  456. .
  457. .
  458. .
  459. ----------- 
  460. There is a command to manually modify EE memory on the PIC16C84.
  461.  
  462.     EE  address
  463.  
  464. Example:  EE 30
  465. The current (hex) value in location 30 will appear on the screen.
  466.       EEMEMORY[30] = 89:12
  467. In this example, location 30 contains the vaue 0x89.  After entering
  468. 0x12, the value in location 30 becomes 0x12.
  469. -----------
  470. There is a command to assign a clock to an I/O pin.  The syntax is as
  471. follows:
  472.     
  473.     CK IOPin, HighCycles, LowCycles
  474.  
  475. The IOPin will be driven high (1) for HighCycles and then driven low (0)
  476. for LowCycles.
  477.  
  478. Example
  479.  
  480.     CK RTCC,5,5
  481.  
  482. Drive the RTCC pin high for five cycles, and then low for five instruciton
  483. cycles.  Up to four clocks can be assigned.
  484.  
  485. CK              Displays assignment of all clocks
  486. CK -            Cancels all clocks
  487. CK -I/OPin      Cancels clock on I/OPin
  488. ----------- 
  489. MPASM can leave the video mode of your PC in a
  490. state that is not compatible with MPSIM, so after running
  491. MPASM, reset your video mode using a command like:
  492.     
  493.     MODE CO80
  494.     or
  495.     CLS
  496. If you prefer to use MPSIM with MPALC, invoke MPSIM with the
  497. "-s" option.
  498.  
  499. ----------- 
  500. Because prescalers and postscalers cannot be declared in
  501. your code as "registers", there are special labels that 
  502. can be added to the viewscreen.  You can add them as you
  503. normally would, specifying any radix to view them.
  504.  
  505.     The following are special items that can be
  506.     added to the viewscreen.  
  507.         
  508.         T0PRE - Presclaer for timer0
  509.         T1PRE - Prescaler for timer1
  510.         T2PRE - Prescaler for timer2
  511.         T2POS - Postscaler for timr2
  512.         CCP1PRE - Prescaler for CCP
  513.         SPIPRE - Prescaler for SPI
  514.         SSPSR - SSP Shift register
  515.  
  516. Please remember that these labels are only available for
  517. appropriate members of the PIC16CXX family.
  518.  
  519. ------------------------------------------------------------
  520. System Service Requests (SSRs) Fixed Since Previous Release
  521. ------------------------------------------------------------
  522.  
  523. The following list describes the SSR's that were fixed for
  524. this release.  In the next section of this text file you
  525. will find a list of the current SSR's.
  526.  
  527. SSR #
  528. Description
  529.  
  530. 972
  531. Indirect addressing from Page 0 not working with PIC16C64 and zeroed 
  532. file registers in page1 modifiable through indirect addressing.
  533.  
  534. 973
  535. Parallel Slave Port IBF bit cleared when bit test instruction
  536. executed.
  537.  
  538. 971
  539. F3-F8 non-functional when used with the DK command.
  540.  
  541. 930
  542. WREN bit in EECON1 is un-implemented.
  543.  
  544. 931
  545. WRERR bit in EECON1 register not implemented.
  546.  
  547. 375
  548. Stack underflow not handled properly for the 16CXX family
  549.  
  550. 967
  551. Some non-modifiable Page1 registers on the 16C74 can be
  552. modified via indirect addressing
  553.  
  554. 971
  555. (P)ulse option with DK command not working properly.
  556.  
  557. 975
  558. RTCC not incrementing by external clock.
  559.  
  560. 969
  561. MCLR reset not setting TO and PD bits correctly.
  562.  
  563. 968
  564. Macros in MPASM listing files appear as disassembled object code
  565. instead of listing lines.
  566.  
  567. 766
  568. SE command now allows user to modify both I/O Pins and entire
  569. port (useful for PSP - instead of .STI file)
  570.  
  571. 976
  572. PCON not implemented.
  573.  
  574. 960
  575. USART timing not correct.
  576.  
  577. 678
  578. DR command does not display all registers.
  579.  
  580. 977
  581. ADCON1 and ADCON0 registers have more bits than they should have.
  582.  
  583. ------------------------------------------------------------
  584. Current SSR (System Service Request) List
  585. ------------------------------------------------------------
  586.  
  587. The list shown below is the current list of known problems 
  588. related to MPSIM.  These problems (referenced by the 
  589. respective SSR number) are tracked throughout the lifetime 
  590. of the software product.  Microchip Technology will make a 
  591. best effort to resolve these problems in future releases. 
  592. If you encounter any problem or wish to see a new 
  593. feature, please contact Microchip (see the second section of 
  594. this document on how to contact Microchip).
  595.  
  596. MPSIM also has a number of outstanding design requests.  
  597. Design requests are not represented in this list.
  598.  
  599. SSR #
  600. Description
  601.  
  602. 129
  603. File registers will sometimes wrap around to next line on
  604. viewscreen
  605.  
  606. -----------------------------------------------------------
  607.     Blank System Service Request
  608. -----------------------------------------------------------
  609.  
  610.  
  611. Blank System Service Request Form
  612. Microchip
  613. Product:      ______________________________________________
  614.  
  615. Description:  ______________________________________________
  616.  
  617. Date:         ______________________________________________
  618.  
  619. Version #:    ______________________________________________
  620.  
  621. Reported By:  ______________________________________________
  622.  
  623. Address:      ______________________________________________
  624.           
  625.           ______________________________________________
  626.  
  627. Phone:        ______________________________________________
  628.  
  629. Detailed 
  630. Description:  ______________________________________________
  631.  
  632.           ______________________________________________
  633.  
  634.           ______________________________________________
  635.  
  636.           ______________________________________________
  637.  
  638.           ______________________________________________
  639.  
  640.  
  641. Microchip
  642. Product:      ______________________________________________
  643.  
  644. Description:  ______________________________________________
  645.  
  646. Date:         ______________________________________________
  647.  
  648. Version #:    ______________________________________________
  649.  
  650. Reported By:  ______________________________________________
  651.  
  652. Address:      ______________________________________________
  653.           
  654.           ______________________________________________
  655.  
  656. Phone:        ______________________________________________
  657.  
  658. Detailed 
  659. Description:  ______________________________________________
  660.  
  661.           ______________________________________________
  662.  
  663.           ______________________________________________
  664.  
  665.           ______________________________________________
  666.  
  667.           ______________________________________________
  668.  
  669.  
  670. Microchip Technology System Service Request
  671. Fax to (602) 786-7578
  672.  
  673.  
  674.  
  675.